После связи мы можем спокойно получить IP компьютера с которым связались. Функция для этого есть.
BOOL GetPeerName( CString& rPeerAddress, UINT& rPeerPort );
Пробуем.
if (sa.Connect("pop.yandex.ru",25))
{
CString address;
UINT port;
sa.GetPeerName(address,port);
AfxMessageBox(address);
}
else AfxMessageBox("Error Connect");
Смотрим результат.

Вот есть он. Подобный способом можно легко определить IP по имени только нужно пор угадать. А просто все. 80 - HTTP (странички WEB) 25 - SMTP (почта) 139 - NetBios. Вообщем можно. Есть одно но, что нужно соединение с интрнет, но без него не как. Сервера которые возвращают по имени адрес находятся в интернете. При желании можно получить и свой IP в данный момент
if (sa.Connect("pop.yandex.ru",25))
{
CString address;
UINT port;
CString miaddress;
sa.GetPeerName(address,port);
sa.GetSockName(miaddress,port);
AfxMessageBox(address + " " + miaddress);
}
else AfxMessageBox("Error Connect");
